package com.cuckoo.cuckoo_app2.apiAsync;

import com.cuckoo.cuckoo_app2.dao.Platform;
import com.google.gson.JsonObject;

import java.util.HashMap;

/**
 * API 异步接口 用户类
 */
public interface UserApi {

    /**
     * 获取图形验证码
     * GET /sys/randomImage/{key}
     */
    public void performGetCodeAsync(final String key, final BaseCallbac<JsonObject> callbac);

    /**
     * 获取手机验证码
     * POST /sys/sms
     * mobile 手机号
     * smsmode   注册模式: "1" 登录模式: "2"
     */
    public void performGetPhoneCodeAsync(final String mobile, final String smsmode, final BaseCallbac<JsonObject> callbac);

    /**
     * 发送短信验证码接口(修改密码)
     * post  /sys/sendChangePwdSms
     */
    public void performGetChangePwdCodeAsync(final String mobile, final BaseCallbac<JsonObject> callbac);

    /**
     * 用户注册
     * /sys/user/register
     * username
     * password
     * phone
     * smscode
     */
    public void performRegisterAsync(final String userName, final String Password, final String phone, final String smscode, String registerCode, final BaseCallbac<JsonObject> callbac);

    /**
     * 账号密码登录
     * /sys/mLogin
     * username,
     * password,
     * captcha,
     * checkKey
     */
    public void performLoginAsync(final String userName, final String Password, final BaseCallbac<JsonObject> callbac);

    /**
     * 退出登录
     * /sys/logout
     */
    public void performLogoutAsync(final BaseCallbac<JsonObject> callbac);

    /**
     * 获取用户信息
     * /sys/user/getUserInfo
     */
    public void performGetUserInfoAsync(final BaseCallbac<JsonObject> callbac);

    /**
     * 获取vip信息 缓存
     * /cuckoo/cuUserDetails/queryById
     */
    public void performGetVipInfoAsync(final String id, final BaseCallbac<JsonObject> callbac);

    /**
     * 修改密码
     * /sys/user/updatePassword
     */
    public void performChangePasswordAsync(final String userName, final String newPassword, final String oldpassword, final String confirmpassword, final BaseCallbac<JsonObject> callbac);

    /**
     * 修改手机号
     * /sys/user/updateMobile
     */
    public void performChangePhoneAsync(final String phone, final String smscode, final BaseCallbac<JsonObject> callbac);

    /**
     * 系统反馈
     * /cuckoo/cuSystemFeedback/add
     */
    public void performSystemFeedbackAsync(final String content, final String userId, final BaseCallbac<JsonObject> callbac);

    /**
     * 通过id查询
     * /cuckoo/cuUserDetails/queryById
     */
    public void performGetUserByIdAsync(final String id, final BaseCallbac<JsonObject> callbac);

    /**
     * 分页列表查询
     * /cuckoo/cuUserDetails/list
     */
    public void performGetUserListAsync(final HashMap<String, String> params, final BaseCallbac<JsonObject> callbac);

    /**
     * 获取提现用户信息
     * /cuckoo/cuWithdrawalInformation/queryByUser
     */
    public void performGetWithdrawalInformationAsync(final String type, final BaseCallbac<JsonObject> callbac);
}
